#!/bin/bash  
###
 # @Author: 周广斌
 # @Date: 2024-11-05 15:33:29
 # @LastEditTime: 2024-11-05 17:16:49
 # @Description: 
### 
  
# 检查是否提供了版本号参数，如果没有则默认为7.0.2  
REDIS_VERSION=${1:-7.0.2}  

# redis.conf文件
CONF_FILE="redis.conf"
# redis.conf备份文件
BACKUP_FILE="redis.conf.bak"
  
# 安装gcc  
yum install gcc -y  
  
# 进入 /opt/software 目录, 把源码下载到这里  
cd /opt/software || mkdir -p /opt/software && cd /opt/software  
  
# 下载 redis 的源码  
wget http://download.redis.io/releases/redis-${REDIS_VERSION}.tar.gz  
  
# 进入 /opt/module 目录, 准备解压源码  
cd /opt/module || mkdir -p /opt/module && cd /opt/module  
  
# 解压缩到当前目录（/opt/module）  
tar zxvf /opt/software/redis-${REDIS_VERSION}.tar.gz  

# 进入 redis 解压目录
cd redis-${REDIS_VERSION}
# 编译并安装 redis  (默认安装在/usr/local/bin目录下)
make && make install  

cp "$CONF_FILE" "$BACKUP_FILE"
# 替换daemonize no为daemonize yes
sed -i 's/^daemonize no/daemonize yes/' "$CONF_FILE"

# 替换bind 127.0.0.1 -::1为bind 0.0.0.0
sed -i 's/^bind 127.0.0.1 -::1/bind 0.0.0.0/' "$CONF_FILE"

# 替换# requirepass foobared为requirepass root
sed -i 's/^# requirepass foobared/requirepass root/' "$CONF_FILE"
  
# 启动 redis（注意：通常启动redis-server需要配置文件或者一些启动参数，  
# 这里简单启动可能不是生产环境所期望的。你可能想要将redis-server作为服务来运行，  
# 或者使用配置文件来指定端口、密码等。这个命令仅用于演示目的。）  
redis-server $CONF_FILE